Technical Field
Embodiments described herein relate to integrated circuits, and more particularly, to techniques for storing and accessing graph data in a cache memory.
Description of the Related Art
Computing systems typically include one or more processors or processor cores along with memories and other storage devices. The processors or processor cores may be configured to execute program instructions stored in a memory or other suitable storage location, such as, e.g., a hard drive, a CD-ROM, and the like. The memories and other storage devices may also be configured to store data, upon which a processor or processor core may operate.
During operation, a processor or processor core may retrieve a program instruction from memory, and then perform one or more operations associated with the retrieved program instruction. Some of the operations may include retrieving data from or storing data to a memory or other storage location. In some cases, the processor or processor core may retrieve data from memory, perform an operation on the data, such as, e.g., addition or subtraction, and then store a result of the operation in the memory.
To improve the performance of the computing system, frequently used instructions and data may be stored in a high-speed memory (commonly referred to as “cache memories” or “caches”). A computing system may include multiple cache memories, each of which is configured to store instructions or data with varying degrees of reuse. For example, a first level cache memory may be located within a processor or processing core and store program instructions or data with a high level of reuse. A second level cache may be positioned in a data path between a processor and system memory, and be configured to store program instructions or data that is not re-used as frequently as the program instructions or data stored in a first level cache memory.